/*
 * Copyright (c) 2021 Huawei Device Co., Ltd.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#ifndef PERMISSION_FUZZER_H
#define PERMISSION_FUZZER_H

#include "sensor_agent.h"
#include "sensor_agent_type.h"
#include "accesstoken_kit.h"

#define FUZZ_PROJECT_NAME "permission_fuzzer"

namespace OHOS {
namespace Sensors {
namespace PermissionFuzzerConstants {
    constexpr int32_t SCENARIO_COUNT = 7;
    constexpr int32_t DEFAULT_SLEEP_MS = 30;
    constexpr int32_t ENHANCED_SLEEP_MS = 30;
    constexpr int32_t MIXED_SLEEP_MS = 20;
    constexpr int32_t LOOP_COUNT = 3;
    constexpr size_t DATA_MIN_SIZE = 4;
    constexpr int32_t MODULO_DIVISOR = 2;
    constexpr size_t DATA_SCENARIO_INDEX = 0;
    
    constexpr size_t SINGLE_PERMISSION_COUNT = 1;
    constexpr size_t DUAL_PERMISSION_COUNT = 2;
    constexpr size_t FIRST_PERMISSION_INDEX = 0;
    constexpr size_t SECOND_PERMISSION_INDEX = 1;
    
    constexpr int32_t DEFAULT_DEVICE_ID = 0;
    constexpr int32_t DEFAULT_LOCATION = 0;
    constexpr int32_t SUCCESS_CODE = 0;
    constexpr int32_t INITIAL_COUNT = 0;
    constexpr uint32_t NO_DCAPS = 0;
    constexpr uint32_t NO_ACLS = 0;
    
    constexpr uint8_t SCENARIO_NO_PERMISSION = 0;
    constexpr uint8_t SCENARIO_PARTIAL_PERMISSION = 1;
    constexpr uint8_t SCENARIO_PERMISSION_UPGRADE = 2;
    constexpr uint8_t SCENARIO_PERMISSION_DOWNGRADE = 3;
    constexpr uint8_t SCENARIO_ADMIN_API = 4;
    constexpr uint8_t SCENARIO_ENHANCED_API = 5;
    constexpr uint8_t SCENARIO_MIXED_PERMISSION = 6;
}
}
}

#endif // PERMISSION_FUZZER_H